package jsen.tool.ddd.demo.domain.parking;

import jsen.tool.ddd.adapter.infrastructure.specification.ISpecification;
import jsen.tool.ddd.demo.domain.base.DomainObject;
import jsen.tool.ddd.demo.domain.parking.spec.car.CarSpec;
import jsen.tool.ddd.domain.AggregateObject;
import lombok.Builder;
import lombok.EqualsAndHashCode;
import lombok.Getter;

/**
 * @author jsen
 * @date 2021/10/6
 */
@AggregateObject(name = "car", desc = "业务描述")
@Getter
@Builder
@EqualsAndHashCode(exclude = {"strict", "location"})
public class Car implements DomainObject {
    private final ISpecification<Car> strict = new CarSpec();

    private final String plate;
    private final Location location;
}
